package com.zmn.oms.model.dto.work.modify;

import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @ClassName ServiceItemQueryDTO
 * @description:
 * @author: wangyanci
 * @create: 2021-11-29 15:02
 * @Version 1.0
 **/
@Builder
@Data
public class ServiceItemQueryDTO {

    /**
     * 服务项类型，目前仅支持两种类型： 1.工单服务项 2.故障服务项
     * @see com.zmn.oms.common.constant.OrderConsts#SERVICE_ITEM_TYPE_ORDER
     * @see com.zmn.oms.common.constant.OrderConsts#SERVICE_ITEM_TYPE_FAULT
     */
    private Integer servItemType;

    @ApiModelProperty("后台产品ID")
    private Integer productId;

    @ApiModelProperty("后台产品ID")
    private Integer showProductId;

    @ApiModelProperty("业务类型")
    private Integer bizType;

    @ApiModelProperty("渠道id")
    private Integer channelId;

    @ApiModelProperty("城市id")
    private Integer cityId;

    @ApiModelProperty("是否一口价：1否（可议价），2是")
    private Integer priceStandard;

    @ApiModelProperty("是否默认服务项：1否，2是")
    private Integer general;

    @ApiModelProperty("价格表id")
    private Integer tariffId;

    @ApiModelProperty("品牌id")
    private Integer brandId;

    @ApiModelProperty("难度系数Id")
    private Integer difficultId;

    /**
     * 特殊调整项产品分类ID结合
     * 已在数据可以中初始化的数据，
     * -5	费用服务项
     * -4	远程费
     * -1	特殊调整项
     */
    private List<Integer> idList;

    /**
     * 过滤价格null的服务项
     */
    private boolean filterNullPrice = true;

    /**
     * 项目分类id (计价器3.0参数)
     *
     */
    /**
     * 计价器3.0服务项
     *
     * @see ItemDRO3#itemCategId
     * 只有三种情况：
     * @see com.zmn.plat.common.constant.ItemCategoryConsts#MAINTAIN_ITEM
     * 1.3001-维修项目
     * @see com.zmn.plat.common.constant.ItemCategoryConsts#ADDITION_ITEM
     * 2.3002-附加项目
     * @see com.zmn.plat.common.constant.ItemCategoryConsts#OTHER_ITEM
     * 3.3003-其他
     */
    private Integer itemCategId;

    /**
     * 搜索附加项（改价格页面需要、工程师修改接口需要）
     */
    private boolean searchAdditionItem = false;

    /**
     * 指定服务项
     */
    private List<Integer> itemIdList;

}